package com.jk.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 
 * @TableName tem_position
 */
@TableName(value ="tem_position")
@Data
@ToString
public class TemPosition implements Serializable {
    private static final long serialVersionUID = 6517334521862066408L;
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 职位id
     */
    private Integer jobId;

    /**
     * 职位名称
     */
    @NotBlank(message = "职位名称不能为空")
    @Size(max = 5 ,message = "职位名称不能超过20个字符")
    private String jobTitle;

    /**
     * 招聘人数
     */
    private Integer recruitNumber;

    /**
     * 职位性质
     */
    private String postsQuality;

    /**
     * 用人部门
     */
    private String employingDepartment;

    /**
     * 工作地点
     */
    private String jobPlace;

    /**
     * 详细地址
     */
    private String detailedAddress;

    /**
     * 最低薪资
     */
    private Integer bottomRange;

    /**
     * 最高薪资
     */
    private Integer highestSalary;

    /**
     * 薪
     */
    private Integer salary;

    /**
     * 学历要求
     */
    private String degree;

    /**
     * 工作经验
     */
    private String workExperience;

    /**
     * 专业
     */
    private String specialized;

    /**
     * 职位描述
     */
    private String description;

    /**
     * 上传文件
     */
    private String fileUpload;

    /**
     * 发起日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date initiationDate;

    /**
     * 最晚到岗日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date arrivalData;

    /**
     * 负责人
     */
    private String head;

    /**
     * 用人经理
     */
    private String jobManger;

    /**
     * 简历初筛人员
     */
    private String primaryScreening;

    /**
     * 性别
     */
    private String sex;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 状态（0：招聘中 ， 1：停止招聘）
     */
    private Integer state;

    /**
     * 停招原因
     */
    private String cause;
    @TableField(exist = false)
    private String startDate;
    @TableField(exist = false)
    private String endDate;

    @TableField(exist = false)
    private List<TemViewer> temViewers;


}